// var students = [
//   {
//     name:'张三',
//     no:'201901',
//   },
//   {
//     name:'李四',
//     no:'201902',
//   },
//   {
//     name:'王五',
//     no:'201903',
//   },
// ]


// function findStudentByNo1(no){
//   for(var i=0;i<students.length;i++){
//     if(no==students[i].no){
//     return students[i].name;
//     }
//     else{
//         console.log("输入学号错误");
//     }
// }
// }

// function findStudentByNo2(no){
//   class student{
//     constructor(num,name) {
// this.num = num;
// this.name=name;
// }
//     };
//  var stu1= new student('201901','张三');
//  var stu2= new student('201902','李四');
//  var stu3= new student('201903','王五');
//  var myMap = new Map();
//  myMap.set('201901','张三');
//  myMap.set('201902','李四');
//  myMap.set('201903','王五');
//  console.log(myMap);
//  var t=myMap.get(no);
//  return t;
// }


// console.log(findStudentByNo1('201901'));
// console.log(findStudentByNo2('201901'));


// const arr = []
// for(let i = 0; i < 1; i++){
//    const a = Math.random()*100;
//    arr.push(Math.round(a))
// }
// console.log(arr);

// function dateFormat(date,formatString){
//   let year = date.getFullYear()
//   formatString = formatString.replace(/(y+)/i,function($0,$1){
//     return year.toString().substr(4 - $1.length)
//   })
//   let month = date.getMonth()+1  //月份是从0开始的
// 	let day = date.getDate()
// 	let hour = date.getHours()
// 	let	min = date.getMinutes()
//   let	sec = date.getSeconds()
//   formatString = year + '-' +
//                 (month < 10? '0' + month : month) + '-' +
//                 (day < 10? '0' + day : day) + ' ' +
//                 (hour < 10? '0' + hour : hour) + ':' +
//                 (min < 10? '0' + min : min) + ':' +
//                 (sec < 10? '0' + sec : sec);
//   return formatString
// }
// let date = new Date()
// date.setFullYear(2023)
// date.setMonth(3)
// date.setDate(9)
// date.setHours(17)
// date.setMinutes(22)
// //'yyyy-mm-dd hh:mm:ss'
// console.log(dateFormat(date,'yyyy年mm日dd'))

// function showtime(){
//   var dt=new Date();
//   var yy=dt.getFullYear();
//   var mm=dt.getMonth()+1;
//   var dd=dt.getDate();
//   var hh=dt.getHours();
//   var mi=dt.getMinutes();
//   var ss=dt.getSeconds();
//   var dy=dt.getDay();
//   var wk="星期"+"日一二三四五六".charAt(dy);
//   var sd="上午";
//   if(hh>12){
//       hh=hh-12;
//       sd="下午";
//   }
//   document.getElementById("mydiv").innerHTML=yy+"-"+mm+"-"+dd+" "+sd+hh+":"+mi+":"+ss+" "+wk;
// }

// function buildArray(){
//   let array = []
//   for(let i = 0; i < parseInt(Math.random() * 1000); i ++) array.push(i)
//   return array
// }

// function getList(array,pageNum,pageSize){
//   let rc = {}
//   //完成数据分页过程
//   var skipNum = (pageNum - 1) * pageSize;
//   var newArr = (skipNum + pageSize >= array.length) ? array.slice(skipNum, array.length) : array.slice(skipNum, skipNum + pageSize);
//   return newArr;
// }
// let array = buildArray()
// console.log(array)
// console.log(getList(array,2,10))

// let obj1 = {
//   a : 1,
//   b : 2,
//   c : {"f":1}
// }

//JOSN文本转换成JS对象
// console.log(JSON.parse('{"a":1,"b":2,"c":{"f":1}}'))

// //JS对象转换成JSON文本
// console.log(JSON.stringify(obj1))



const config = require('./config');
const { get } = require('./util/request1');
const themeListeners = []
global.isDemo = true

// const { formatTime } =  require('../miniprogram/util/util')
// let util = require('../miniprogram/util/util')
// console.log(util,formatDateTime(new Data())) 


const request = require('/util/request1');
let $request = require('/util/request1');
wx.$request = $request
wx.get = $request.get
wx.baseURL = $request.baseURL
wx.put = $request.put

App({
  
  onLaunch(opts, data) {
    // const that = this;
    // const canIUseSetBackgroundFetchToken = wx.canIUse('setBackgroundFetchToken')
    // if (canIUseSetBackgroundFetchToken) {
    //   wx.setBackgroundFetchToken({
    //     token: 'getBackgroundFetchToken',
    //   })
    // }
    // if (wx.getBackgroundFetchData) {
    //   wx.getBackgroundFetchData({
    //     fetchType: 'pre',
    //     success(res) {
    //       that.globalData.backgroundFetchData  = res;
    //       console.log('读取预拉取数据成功')
    //     },
    //     fail() {
    //       console.log('读取预拉取数据失败')
    //       wx.showToast({
    //         title: '无缓存数据',
    //         icon: 'none'
    //       })
    //     },
    //     complete() {
    //       console.log('结束读取')
    //     }
    //   })
    // }

    wx.login({
      success: res => {
        console.log(res)
        wx.get('http://localhost:3000/wx/login?code=' + res.code).then(res => {
          console.log(res)
          wx.userInfo = res
        })
      }
    })
    console.log('App Launch', opts)
    if (data && data.path) {
      wx.navigateTo({
        url: data.path,
      })
    }
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
      wx.cloud.init({
        env: config.envId,
        traceUser: true,
      })
    }
  },

  onShow(opts) {
    console.log('App Show', opts)
    // console.log(wx.getSystemInfoSync())
  },
  onHide() {
    console.log('App Hide')
  },
  onThemeChange({ theme }) {
    this.globalData.theme = theme
    themeListeners.forEach((listener) => {
        listener(theme)
    })
  },
  watchThemeChange(listener) {
      if (themeListeners.indexOf(listener) < 0) {
          themeListeners.push(listener)
      }
  },
  unWatchThemeChange(listener) {
      const index = themeListeners.indexOf(listener)
      if (index > -1) {
          themeListeners.splice(index, 1)
      }
  },
  globalData: {
    theme: wx.getSystemInfoSync().theme,
    hasLogin: false,
    openid: null,
    iconTabbar: '/page/weui/example/images/icon_tabbar.png',
  },
  // lazy loading openid
  getUserOpenId(callback) {
    const self = this

    if (self.globalData.openid) {
      callback(null, self.globalData.openid)
    } 
    else {

      wx.login({
        success: res => {
          console.log('i am wx.login',res)
          wx.cloud.callFunction({
            name: 'login',
            data: {
              action: 'openid'
            },
            success: res => {
              console.log('拉取openid成功', res)
              self.globalData.openid = res.result.openid
              callback(null, self.globalData.openid)
            },
            fail: err => {
              console.log('拉取用户openid失败，将无法正常使用开放接口等服务', res)
              callback(res)
            }
          })
        },
        fail(err) {
          console.log('wx.login 接口调用失败，将无法正常使用开放接口等服务', err)
          callback(err)
        }
      })
    }
  },
  // 通过云函数获取用户 openid，支持回调或 Promise
  getUserOpenIdViaCloud() {
    return wx.cloud.callFunction({
      name: 'wxContext',
      data: {}
    }).then(res => {
      this.globalData.openid = res.result.openid
      return res.result.openid
    })
  },






  onLoad(query){
    console.log('i am page onload',query)
  },
  onShow(){
    console.log('i am page onshow')
  },
  onReady(){
    console.log('i am page onReady')
  }
})
